export type NoteGroup = {
  id: string;
  name: string;
  createdAt: string; // ISO
  order: number;
  // 共享协作者用户ID列表（仅两人使用场景下即互相共享）
  sharedWith?: string[];
};

export type AttachmentKind = 'image' | 'video' | 'audio' | 'file';

export type Attachment = {
  id: string;
  kind: AttachmentKind;
  name: string;
  mime: string;
  size: number;
  // 小文件：base64；大文件：objectURL（刷新丢失），后端返回的永久地址放在 url
  dataUrl?: string;
  objectUrl?: string;
  url?: string;        // 后端返回的访问URL（S3或本地）
  createdAt?: string;  // ISO
};

export type Note = {
  id: string;
  title: string;
  content: string;
  groupId?: string | null;
  // 本地离线模式使用 attachments；后端API返回 files
  attachments: Attachment[];
  files?: Attachment[];        // 后端关联的附件
  reminderAt?: string | null;  // ISO datetime
  createdAt: string;           // ISO
  updatedAt: string;           // ISO
  // 计时（秒）
  timeSpent: number;
  isTiming: boolean;
  timingStartAt?: string | null; // ISO when started
};